package hejie.admin.dao;

 
import java.util.List;

import publics.model.Admin;

 
/**
 * @author  hejie
 * @version  1.0  
 * @explain 管理员增删查改Dao层接口
 */
public interface AdminDao {
	
	 
	/**
	 * 增加管理员-保存
	 * @param admin
	 * @return 主键id
	 */
	public Integer save(Admin admin);
	/**
	 * 修改管理员信息
	 * @param admin  管理员 
	 * @return  boolean 成功 true ，失败 false
	 */
	public boolean update(Admin admin);
	 /**
     * 根据ID删除管理员
     * @param name 需要删除的管理员id
     * @return boolean
     */  
    public boolean deleteById(Integer id);
    /**
	 * 根据实例删除管理员
	 * @param admin
	 * @return boolean
	 */
	public boolean delete(Admin admin);
	
	/**
	 * 据管理员id查找 
	 * @param 管理员id
     * @return id对应的管理员
	 */
	public Admin findById(Integer id);
	/**
	 * 根据账号查找管理员
     * @param user 管理员的账号
     * @return 账号对应的管理员
	 */
    public List<Admin> findByUser(String user);
	/**
     * 根据用户名和密码查询管理员
     * @param user 管理员的用户名
     * @param pass 管理员的密码
     * @return 符合用户名和密码的管理员
     */ 
   public Admin findByUserAndPass(String user , String pass);
	/**
	 * 查询所有管理员信息	
	 * @param offset 起始条目偏移量（offset == （页码-1）*每页条数  ）
	 * @param pageSiz  查询每页的条目数
	 * @return 全部管理员
	 */
   public List<Admin> findByPage(final String  hql,final int offset, final int pageSize);
   /**
	 * 分页查找的总记录
	 * @param sql 查询语句
	 * @return 记录总数
	 */
	public int findByCount(String sql);    

	/**
	 * 根据条件查询
	 * @param sql  查询的sql语句
	 * @return  查询的实体结果
	 */
	public List<Admin> find(String sql);
	
}
